// ================================================== //
// ============= BEBOPTOOLS : BOPBOARD ============== //
// ================================================== //

// Samuel Kvaalen
// le header

// ================================================== //

#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>

#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_thread.h>

#define NUMPUSH 5
#define NUMSWITCH 8
#define NUMLIGHT 8
#define NUMBUTTONS NUMPUSH+NUMSWITCH+NUMLIGHT
#define NUMFUNCBUTTON 2
#define NUMPLATES 13

#define WINWIDTH 850
#define WINHEIGHT 300

#ifdef __MINGW32__
#undef main /* pour ne pas ecrire le STDOUT dans un fichier */
#endif

/* fichier de code */
#include "struct.c"

/* Variables globales */
int quit_input_thread = 0;

// $(BEBOPDIR)/bopboard/images : Pour stocker le lien vers le dir
// Initialiser dans init_bopboard_images_dir
char bopboard_images_dir[1024];

// structures d'image pour les butons
button_img imgpush = NULL;
button_img imgswitch = NULL;
button_img imglight = NULL;

// tableaux de tous les boutons
gui_button push[NUMPUSH];
gui_button sw[NUMSWITCH];
gui_button light[NUMLIGHT];

// contient des pointeurs vers tous les boutons de push, sw, et light
gui_button *(buttons[NUMBUTTONS]);
// les boutons particuliers (plein ecran, relacher, etc)
gui_funcbutton funcbutton[NUMFUNCBUTTON];

// les tailles des boutons.
SDL_Rect sizepush;
SDL_Rect sizeswitch;
SDL_Rect sizelight;

// les plaques de l'interface qui ne sont pas des boutons
gui_plate plates[NUMPLATES];

// la surface principale de la fenetre
SDL_Surface *screen = NULL;
int fullscreen_mode = 0; // en plein ecran (1) ou pas (0)

#include "util.c"
#include "init.c"
#include "input.c"
